﻿/**
 * 一级标题、二级标题
 * 一级标题使用H2标签，二级标题使用H3标签
 */
(function( E ){

var Consts = E.consts,
	Utils = E.mod('Utils'),
	Event = E.mod('Event'),
	Selection = E.mod('Selection');

Event.bind("keyup", function(){
	E.$("h2,h3").each(function(){
		var o = $(this);
		if( !o.text() ){
			o.replaceWith('<p>&nbsp;</p>');
		}
	});
});

E.plugin("H1", {
	icon: {
		width: 60,
		text: '一级目录',
		
		'default': {
			'H1': {XY:"none" }
		}
	},
	check: function(text){
		
		return 1;
	},
	
	click: function( ){
		return Hn('h2', this);
	}
});


E.plugin("H2", {
	icon: {
		width: 60,
		text: '二级目录',
		
		'default': {
			'H2': {XY:"none" }
		}
	},
	check: function(text){
		
		return 1;
	},

	click: function( ){
		return Hn('h3', this);
	}
});

function Hn(hn, Plugin){
	var html='',
		text = Plugin.getSelectionText(),
		ele = Plugin.getCursorElement(),
		dom = E.get('document');
	if( $.nodeName(ele, hn) ){
		var o = $(ele);
		html = $.trim(o.text()) ? o.html() : '';
		o.replaceWith( html );
	}else if( Plugin.check(text) ){
		text = text || (Consts.IE ? '' : '<br>');
		
		if( Utils.strlen(text) > 40 ){
			E.showError('标题最多40个字符，一个汉字算2个字符。');
		}else{
			html = '<'+hn+'>'+text+'<a id="jqe-tmp-title" style="display:none;">.</a></'+hn+'>';
			Plugin.pasteHTML( html );
			if( text == '' || text =='<br>' ){
				E.showNotice('请在新建的标题处输入标题', 2000);
			}
			// 2011-08-15 21:39 潘雪鹏
			// 重新定位光标
			// 在webkit核心浏览器不起作用
			// ie、firefox下好使
			setTimeout(function(){
				var el = $('#jqe-tmp-title', dom)[0];
				var range = Selection.getRange();
				if ( Consts.IE ){
					try{
						range.moveToElementText(el);
						range.collapse(false);
						range.select();
					}catch(e){}
				}else{
					range.selectNode(el);
				}
				el.parentNode.removeChild(el);
				el = null;
			}, 100);
		}
	}
	return 1;
}

})(jQEditor);